﻿using System;
namespace Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr {
    
    
    public partial class KatastriyksusegaSeotudObjektid : global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.IKatastriyksusegaSeotudObjektid {
        
        private string @__tYHIVASTUS;
        
        private System.Collections.Generic.List<KatastriyksusegaSeotudObjektid.IKAYKEHITType> @__kAYKEHIT = new System.Collections.Generic.List<KatastriyksusegaSeotudObjektid.IKAYKEHITType>();
        
        public KatastriyksusegaSeotudObjektid() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public KatastriyksusegaSeotudObjektid(string @tYHIVASTUS, System.Collections.Generic.List<KatastriyksusegaSeotudObjektid.IKAYKEHITType> @kAYKEHIT) {
            this.@__tYHIVASTUS = @tYHIVASTUS;
            this.@__kAYKEHIT = @kAYKEHIT;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected KatastriyksusegaSeotudObjektid(IKatastriyksusegaSeotudObjektid @katastriyksusegaSeotudObjektid) {
            this.@__tYHIVASTUS = @katastriyksusegaSeotudObjektid.TYHIVASTUS;
            this.@__kAYKEHIT = @katastriyksusegaSeotudObjektid.KAYKEHIT;
        }
        
        public virtual string TYHIVASTUS {
            get {
                return this.@__tYHIVASTUS;
            }
            set {
                this.@__tYHIVASTUS = value;
            }
        }
        
        public virtual System.Collections.Generic.List<KatastriyksusegaSeotudObjektid.IKAYKEHITType> KAYKEHIT {
            get {
                return this.@__kAYKEHIT;
            }
            set {
                this.@__kAYKEHIT = value;
            }
        }
        
        public partial class KAYKEHITType : IKAYKEHITType {
            
            private global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.KYTunnusType @__kYTUNNUS;
            
            private string @__eHRKOOD;
            
            private string @__eHITID;
            
            private System.DateTime? @__dATEUPDATED;
            
            private string @__sTAATUSID;
            
            private string @__sTAATUSIDTXT;
            
            private string @__rAJATISHOONE;
            
            private string @__rAJATISHOONETXT;
            
            public KAYKEHITType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public KAYKEHITType(global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.KYTunnusType @kYTUNNUS, string @eHRKOOD, string @eHITID, System.DateTime? @dATEUPDATED, string @sTAATUSID, string @sTAATUSIDTXT, string @rAJATISHOONE, string @rAJATISHOONETXT) {
                this.@__kYTUNNUS = @kYTUNNUS;
                this.@__eHRKOOD = @eHRKOOD;
                this.@__eHITID = @eHITID;
                this.@__dATEUPDATED = @dATEUPDATED;
                this.@__sTAATUSID = @sTAATUSID;
                this.@__sTAATUSIDTXT = @sTAATUSIDTXT;
                this.@__rAJATISHOONE = @rAJATISHOONE;
                this.@__rAJATISHOONETXT = @rAJATISHOONETXT;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public KAYKEHITType(global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.KYTunnusType @kYTUNNUS, string @eHRKOOD, string @eHITID, string @sTAATUSID, string @sTAATUSIDTXT, string @rAJATISHOONE, string @rAJATISHOONETXT) {
                this.@__kYTUNNUS = @kYTUNNUS;
                this.@__eHRKOOD = @eHRKOOD;
                this.@__eHITID = @eHITID;
                this.@__sTAATUSID = @sTAATUSID;
                this.@__sTAATUSIDTXT = @sTAATUSIDTXT;
                this.@__rAJATISHOONE = @rAJATISHOONE;
                this.@__rAJATISHOONETXT = @rAJATISHOONETXT;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected KAYKEHITType(IKAYKEHITType @kAYKEHITType) {
                this.@__kYTUNNUS = @kAYKEHITType.KYTUNNUS;
                this.@__eHRKOOD = @kAYKEHITType.EHRKOOD;
                this.@__eHITID = @kAYKEHITType.EHITID;
                this.@__dATEUPDATED = @kAYKEHITType.DATEUPDATED;
                this.@__sTAATUSID = @kAYKEHITType.STAATUSID;
                this.@__sTAATUSIDTXT = @kAYKEHITType.STAATUSIDTXT;
                this.@__rAJATISHOONE = @kAYKEHITType.RAJATISHOONE;
                this.@__rAJATISHOONETXT = @kAYKEHITType.RAJATISHOONETXT;
            }
            
            public virtual global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.KYTunnusType KYTUNNUS {
                get {
                    return this.@__kYTUNNUS;
                }
                set {
                    this.@__kYTUNNUS = value;
                }
            }
            
            public virtual string EHRKOOD {
                get {
                    return this.@__eHRKOOD;
                }
                set {
                    this.@__eHRKOOD = value;
                }
            }
            
            public virtual string EHITID {
                get {
                    return this.@__eHITID;
                }
                set {
                    this.@__eHITID = value;
                }
            }
            
            public virtual System.DateTime? DATEUPDATED {
                get {
                    return this.@__dATEUPDATED;
                }
                set {
                    this.@__dATEUPDATED = value;
                }
            }
            
            public virtual string STAATUSID {
                get {
                    return this.@__sTAATUSID;
                }
                set {
                    this.@__sTAATUSID = value;
                }
            }
            
            public virtual string STAATUSIDTXT {
                get {
                    return this.@__sTAATUSIDTXT;
                }
                set {
                    this.@__sTAATUSIDTXT = value;
                }
            }
            
            public virtual string RAJATISHOONE {
                get {
                    return this.@__rAJATISHOONE;
                }
                set {
                    this.@__rAJATISHOONE = value;
                }
            }
            
            public virtual string RAJATISHOONETXT {
                get {
                    return this.@__rAJATISHOONETXT;
                }
                set {
                    this.@__rAJATISHOONETXT = value;
                }
            }
        }
        
        public interface IKAYKEHITType {
            
            global::Producers.Ehr.Xtee.Riik.Ee.Producer.Ehr.KYTunnusType KYTUNNUS {
                get;
                set;
            }
            
            string EHRKOOD {
                get;
                set;
            }
            
            string EHITID {
                get;
                set;
            }
            
            System.DateTime? DATEUPDATED {
                get;
                set;
            }
            
            string STAATUSID {
                get;
                set;
            }
            
            string STAATUSIDTXT {
                get;
                set;
            }
            
            string RAJATISHOONE {
                get;
                set;
            }
            
            string RAJATISHOONETXT {
                get;
                set;
            }
        }
    }
}
